Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour EFG Swiss Open - Gstaad Wimbledon - London Oeiras 1 Challenger Australian Open - Melbourne Wimbledon - London Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Movistar Chile Open - Santiago Olympics - Paris Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Open Parc - Lyon French Open - Paris Genova Challenger U.S. Open - New York European Open - Antwerp Valencia Challenger Curitiba Challenger Montevideo Challenger Wimbledon - London Hong Kong Tennis Open - Hong Kong Australian Open - Melbourne Estoril Challenger Internazionali BNL d'Italia - Rome French Open - Paris Monte-Carlo Rolex Masters - Monte-Carlo National Bank Open - Toronto Porto Challenger Citi Open - Washington U.S. Open - New York Shanghai Rolex Masters - Shanghai Spain F32 Portugal F4 Portugal F5 Portugal F6 Spain F7 Portugal F2 Portugal F3 Spain F17 Spain F18 Sweden F5 USA F26 Mexico F10 Mexico F11 USA F1 USA F3 Usa F7 Usa F15 Switzerland F3 Usa F13 Brazil F22 Brazil F31 Brazil F32 Brazil F1 Colombia F2 USA F7 Spain F6 Spain F35 Spain F36 Spain F1 Spain F5 Spain F9 Spain F25 Spain F26 Spain F27 Spain F29 Spain F30 Portugal F10 Portugal F11 France F1 Spain F1 Spain F2 Spain F4 Spain F5 Spain F6 Spain F12 Spain F13 Turkey F3 Spain F5 Spain F6 Croatia F2 Croatia F3 Spain F13 Spain F14 Spain F15 Spain F16 Spain F18 Spain F19 Spain F20 Spain F21 Spain F22 Belgium F9 Spain F28 Spain F29 Spain F30 Spain F31 Spain F32 Spain F36 Finland F4 Spain F1 (Manacor) Spain F2 (Manacor) Spain F3 (Paguera) Spain F4 (Paguera) Spain F6 (Cornella) Spain F14 (Vic) Spain F15 (Sta. Margarida Montbui) Portugal F1 USA F2 M15 Sintra M25 Porto M25 Vale Do Lobo M25 Villena M25 Vale do Lobo M25 Faro Mexico F1 Costa Rica F1 Colombia F2 Canada F1 Canada F2 Canada F3 Usa F8 Czech Rep. F2 Czech Rep. F3 Spain F18 Usa F14 Usa F18 Usa F5 Portugal F3 Spain F11 Italy F5 Usa F15 Brazil F33 Colombia F1 Spain F5 Brazil F26 Brazil F33 Spain F11 Spain F3 Naples Challenger - Naples Abierto Internacional Varonil Ciudad de Cancun - Cancun Sao Paulo Challenger Tunis Challenger Asuncion Challenger Bordeaux Challenger Santos Challenger Kosice Challenger San Juan Challenger Rio De Janeiro Challenger Porto Alegre Challenger Montevideo Challenger Sao Leopoldo Challenger ATP Challenger Tour Finals Sao Paulo Challenger Bucaramanga Challenger Itajai Challenger Santos Challenger Campinas Challenger Sao Jose Do Rio Preto Challenger Montevideo Challenger Bogota Challenger Guayaquil Challenger M25 Quinta Do Lago Sao Paulo Challenger Bucaramanga Challenger Panama City Challenger Barranquilla Challenger Itajai Challenger Santos Challenger Aix En Provence Challenger Furth Challenger Blois Challenger Marburg Challenger Braunschweig Challenger M15 Sintra Tampere Challenger M25 Vale do Lobo Porto Alegre Challenger Knoxville Challenger Champaign Challenger Bucaramanga Challenger Santo Domingo Challenger M25 Vila Real de Santo Antonio Mestre Challenger M25 Vila Real de Santo Antonio Caltanissetta Challenger Blois Challenger Braunschweig Challenger Cordenons Challenger Manerbio Challenger Como Challenger Seville Challenger Meknes Challenger Banja Luka Challenger M25 Quinta do Lago Campinas Challenger Porto Alegre Challenger Mohammedia Challenger Corrientes Challenger Santiago Challenger Lima Challenger Guayaquil Challenger Bangkok Challenger M25 Porto M25 Vale do Lobo Jonkoping Challenger M25 Reus Kazan Challenger Napoli Challenger Turin Challenger Bordeaux Challenger Mestre Challenger Milan Challenger Liberec Challenger Lima Challenger Guayaquil Challenger Shenzhen Challenger Barletta Challenger Todi Challenger Segovia Challenger Floridablanca Challenger Cordenons Challenger Como Challenger Rome Challenger Campinas Challenger Buenos Aires Challenger Cali Challenger Lima Challenger Montevideo Challenger Santiago Challenger Rio De Janeiro Challenger Noumea Challenger Bergamo Challenger Zhuhai Challenger Santiago Challenger Barletta Challenger Tunis Challenger Braga Challenger Lisbon Challenger Prostejov Challenger Caltanissetta Challenger Como Challenger Biella Challenger Orleans Challenger Campinas Challenger Ortisei Challenger Brest Challenger Buenos Aires Challenger Orlando Challenger Columbus Challenger Chennai Challenger Sarasota Challenger Francavilla Challenger Lisbon Challenger Nur-Sultan Challenger Sopot Challenger Genova Challenger Seville Challenger Biella Challenger Florence Challenger Campinas Challenger Barcelona Challenger Santo Domingo Challenger Guayaquil Challenger Montevideo Challenger Canberra Challenger Ann Arbor Challenger Iasi Challenger Barcelona Challenger Lisbon Challenger Istanbul Challenger Marbella Challenger Sao Paulo Challenger Antalya Challenger Marbella Challenger Oeiras 1 Challenger Oeiras 2 Challenger Oeiras 3 Challenger Oeiras 4 Challenger Biella 7 Challenger Milan Challenger Porto Challenger Amersfoort Challenger Tampere Challenger Poznan Challenger San Marino Challenger Verona Challenger Montevideo Challenger Brasilia Challenger Maia 1 Challenger Maia 2 Challenger Bendigo Challenger Cherbourg Challenger Zadar Challenger Marbella Challenger Oeiras 1 Challenger Oeiras 2 Challenger Bordeaux Challenger Forli 6 Challenger Perugia Challenger Lima Challenger JSM Challenger of Champaign - Urbana Las Vegas Challenger Sao Leopoldo Challenger Waco Challenger Puerto Vallarta Challenger Dallas Challenger Heilbronn Challenger Perugia Challenger Campinas Challenger Porto Alegre Challenger Sao Paulo Challenger Buenos Aires Challenger Porto Challenger San Marino Challenger Prostejov Challenger Szczecin Challenger Marburg Challenger Sao Paulo Challenger Buenos Aires Challenger Campinas Challenger Vancouver Challenger Francavilla Challenger Orleans Challenger Barletta Challenger Santa Fe 2 Challenger M25 Mataro Seville Challenger Montevideo Challenger Oeiras 2 Challenger Bordeaux Challenger Vicenza Challenger M25 Figueira da Foz Braunschweig Challenger Alicante Challenger Murcia Challenger Buenos Aires Challenger Braunschweig Challenger Santiago Challenger Oeiras 3 Challenger Francavilla Challenger Irving Challenger Oeiras 4 Challenger Le Gosier Challenger Lisbon Challenger Zagreb Challenger Sarasota Challenger Savannah Challenger Poznan Challenger Milan Challenger Porto 2 Challenger Tenerife 2 Challenger Lima 2 Challenger Seville Challenger Lisbon Challenger Montevideo Challenger Las Franquesas del Valles Challenger Oeiras 5 Challenger Montechiarugolo Challenger Campinas Challenger Estoril Open - Estoril Estoril Open - Estoril Gerry Weber Open - Halle Delray Beach International Tennis Championships - Delray Beach Pilot Pen Tennis - New Haven Estoril Open - Estoril Estoril Open - Estoril Helsinki Challenger Manama Challenger Tenerife 3 Challenger Girona Challenger Estoril Open - Estoril Open de Nice Cote d'Azur - Nice Aix En Provence Challenger VTR Open - Vina del Mar Brasil Open - Sao Paulo Estoril Open - Estoril VTR Open - Vina del Mar Brasil Open - Sao Paulo Copa Claro - Buenos Aires Delray Beach International Tennis Championships - Delray Beach Portugal Open - Oeiras U.S. National Indoor Tennis Championships - Memphis Delray Beach Open - Delray Beach Brasil Open - Sao Paulo Bet-at-home Open - Hamburg Erste Bank Open - Vienna Swiss Indoors Basel - Basel Qatar ExxonMobil Open - Doha 2007 Knoxville Challenger - Knoxville Barcelona Open BancSabadell - Barcelona Bet-at-home Open - Hamburg BB&T Atlanta Open - Atlanta Austrian Open - Kitzbuhel Sao Paulo Challenger Swiss Indoors Basel - Basel Bancolombia Open - Bogota Rio De Janeiro Challenger Abierto Internacional de Salinas 'Dario Expreso' - Salinas Campinas Challenger Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Roma Open Challenger - Rome SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Shenzhen Open - Shenzhen If Stockholm Open - Stockholm Aircel Chennai Open - Chennai Apia International - Sydney San Remo Tennis Cup - San Remo Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Millennium Estoril Open - Estoril Open Parc - Lyon Antalya Cup - Antalya Bet-at-home Open - Hamburg Generali Open - Kitzbuhel Challenger Banque Nationale - Granby Open Sud de France - Montpellier Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Moncton Men's Challenger - Moncton Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Next Gen ATP Finals - Milan Tata Open Maharashtra - Pune Cordoba Open - Cordoba Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Noventi Open - Halle Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Levene Gouldin & Thompson Tennis Challenger - Binghamton European Open - Antwerp Cordoba Open - Cordoba Rio Open - Rio de Janeiro Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Hamburg European Open - Hamburg III Challenger Isla de Gran Canaria Ciudad de Telde - Telde Winston-Salem Open - Winston-Salem Le Gosier Challenger Anytech365 Andalucia Open - Marbella Emilia-Romagna Open - Parma Astana Open - Nur-Sultan Melbourne Summer Set - Melbourne Cordoba Open - Cordoba Semgroup Challenger - Tulsa Chile Dove Men+Care Open - Santiago Barcelona Open Banc Sabadell - Barcelona Nielsen USTA Pro Tennis Championship - Winnetka Millennium Estoril Open - Estoril Mallorca Championships - Mallorca Swiss Open - Gstaad Sacramento Challenger - Sacramento Plava Laguna Croatia Open - Umag Tampere Challenger Oldum Brown Vancouver Open - Vancouver Winston-Salem Open - Winston-Salem Moselle Open - Metz GHI Bronx Tennis Classic - Bronx National Bank Men's Rimouski Challenger - Rimouski European Open - Antwerp Challenger Britania Zavaleta - Puebla Pozoblanco Challenger Korea Open - Seoul Salinas Challenger Gijon Open - Gijon Tata Open Maharashtra - Pune ASB Classic - Auckland Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Plava Laguna Croatia Open - Umag European Open - Antwerp ASB Classic - Auckland Cordoba Open - Cordoba Barcelona Open Banc Sabadell - Barcelona Winston-Salem Open - Winston-Salem Ford Tennis Championships - Louisville Bad Waltersdorf Challenger Tenerife 1 Challenger Lexington Challenger Campos do Jordao Challenger Brasilia Challenger Salvador Challenger Santo Domingo Challenger Belo Horizonte Challenger Montevideo Challenger Buenos Aires Challenger Santiago Challenger Sao Paulo Challenger Guayaquil Challenger Sao Paulo Challenger Bucaramanga Challenger Dallas Challenger Banja Luka Challenger Recife Challenger Prague Challenger Campos do Jordao Challenger Campinas Challenger Recife Challenger Belo Horizonte Challenger Sao Jose Do Rio Preto Challenger Sao Leopoldo Challenger Buenos Aires Challenger Guayaquil Challenger Montevideo Challenger Sao Paulo Challenger Bucaramanga Challenger Florianopolis Challenger Sony Ericsson Open - Miami Le Gosier Challenger Dallas Challenger Blumenau Challenger Sao Paulo Challenger Sony Ericsson Open - Miami Bordeaux Challenger BNP Paribas Open - Indian Wells Caltanissetta Challenger Sony Ericsson Open - Miami BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid Arad Challenger Timisoara Challenger BNP Paribas Open - Indian Wells Tampere Challenger Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati St. Remy Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Madrid Challenger Mutua Madrid Open - Madrid Sao Paulo Challenger Brasov Challenger Porto Challenger Szczecin Challenger Miami Open - Miami Belem Challenger Aix En Provence Challenger Mutua Madrid Open - Madrid Mallorca Challenger Seville Challenger Bad Waltersdorf Challenger Lisbon Challenger Charlottesville Challenger Dallas Challenger Bordeaux Challenger BNP Paribas Open - Indian Wells Miami Open - Miami Aptos Challenger Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Buenos Aires Challenger Montevideo Challenger Bucaramanga Challenger Barletta Challenger Genova Challenger Oeiras 2 Challenger Aix En Provence Challenger Lyon Challenger Braunschweig Challenger Scheveningen Challenger Cortina Challenger Braga Challenger Guayaquil Challenger Brest Challenger Rennes Challenger Quimper Challenger Cherbourg Challenger Shenzhen Challenger Quanzhou Challenger Le Gosier Challenger Marbella Challenger Braunschweig Challenger Western & Southern Open - New York Genova Challenger Santo Domingo Challenger Zhuhai Challenger Guayaquil Challenger Montevideo Challenger BNP Paribas Open - Indian Wells Bangkok Challenger Bangkok Challenger Yokohama Challenger Rome Challenger Bordeaux Challenger Todi Challenger Braga Challenger Sibiu Challenger Mutua Madrid Open - Madrid Milan Challenger Internazionali BNL d'Italia - Rome Poznan Challenger Buenos Aires Challenger Western & Southern Open - Cincinnati Oeiras 3 Challenger Lima Challenger Brest Challenger Girona Challenger BNP Paribas Open - Indian Wells Prostejov Challenger Maia Challenger Antalya 2 Challenger Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Newport Beach Challenger Forli Challenger Guayaquil Challenger Forli 4 Challenger Aix En Provence Challenger Rio De Janeiro Challenger Canberra Challenger Monterrey Challenger Prague 2 Challenger Western & Southern Open - Cincinnati Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Lima 2 Challenger Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Montechiarugolo - Parma Challenger Mutua Madrid Open - Madrid Girona Challenger Lyon Challenger Cincinnati Open - Cincinnati Portugal Open - Oeiras Braga Challenger Guayaquil Challenger Oeiras 1 Challenger Oeiras 4 Challenger Estoril Open - Estoril Forli 5 Challenger Lisbon Challenger Roseto Degli Abruzzi 2 Challenger Campinas Challenger Madrid Challenger Mallorca Championships - Mallorca Argentina Open - Buenos Aires Nordea Open - Bastad Mallorca Championships - Mallorca Dallas Open - Dallas Braunschweig Challenger Mallorca Championships - Mallorca Hamburg Open - Hamburg Winston-Salem Open - Winston-Salem cinch Championships - London Open Sud de France - Montpellier Braga Challenger Campbells Hall of Fame Tennis Championships - Newport Copa Claro - Buenos Aires Generali Open - Kitzbuhel Erste Bank Open - Vienna Japan Open Tennis Championships - Tokyo Rakuten Japan Open - Tokyo Mercedes Cup - Stuttgart Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Millennium Estoril Open - Estoril Winston-Salem Open - Winston-Salem Rakuten Japan Open - Tokyo Barcelona Open BancSabadell - Barcelona Abierto Mexicano - Los Cabos European Open - Antwerp Sydney International - Sydney Argentina Open - Buenos Aires St. Petersburg Open - St. Petersburg US Men's Clay Court Championship - Houston Argentina Open - Buenos Aires Erste Bank Open - Vienna Generali Open - Kitzbuhel Sofia Open - Sofia Adelaide International 2 - Adelaide Swiss Indoors Basel - Basel Hong Kong Tennis Open - Hong Kong Millennium Estoril Open - Estoril Rio Open - Rio de Janeiro Grand Prix Hassan II - Marrakech Barcelona Open Banc Sabadell - Barcelona Gonet Geneva Open - Geneva Rio Open - Rio de Janeiro Mercedes Cup - Stuttgart Adelaide International - Adelaide Santiago Open - Santiago Plava Laguna Croatia Open - Umag Rio Open - Rio de Janeiro Monte-Carlo Rolex Masters - Monte-Carlo Argentina Open - Buenos Aires Internazionali BNL d'Italia - Rome Braunschweig Challenger Shanghai Rolex Masters - Shanghai U.S. Open - New York Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne French Open - Paris French Open - Paris U.S. Open - New York Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, World Group, QF, SRB-ESP 4-1 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, Group I, 1R, ROU-POR 3-1 Wimbledon (juniors) U.S. Open (juniors) Australian Open (juniors) U.S. Open (juniors) Wimbledon (juniors) Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, World Group, Q2, ESP-DEN 3-2 All Lower level tournaments Davis Cup, Group I, 1R, SLO-POR 3-2 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, PO, POR-POL 4-0 Olympics - Rio de Janeiro French Open (juniors) French Open (juniors)